/* Copyrights Security Engineering Research Group 
 * Author: Nauman (http://recluze.wordpress.com) 
 * 
 */

package edu.serg.mbar.ucon.interfaces;

import java.util.EventListener;
import java.util.Vector;

/**
 * Required to be implemented by any class which can handle attribute mutability
 * events. The class should also be able to handle subject and object attribute
 * requests
 * 
 * @author Nauman (recluze.wordpress.com)
 * 
 */
public interface IsMutabilityCapable extends EventListener {
	/** Process attribute Mutability event */
	public boolean processAttributeMutability(MutabilityEvent mEvent);

	/**
	 * Request an attribute
	 * 
	 * @param target
	 *            The subject/object the attribute belongs to
	 * @param attribute
	 *            The attribute being requested
	 * */
	public Vector<String> requestAttributes(String target, String attribute);

}
